Benchmarking persistent programming languages: quantifying the language/database interface

نویسنده

  • Antony L. Hosking
چکیده

A motivating factor in the development of object-oriented databases is that they reduce the impedance mismatch [Copeland and Maier 1984] between programming languages and database systems. One benefit is that a straightforward mapping between the type system of the programming language and that of the database reduces the conceptual barrier for the developer’s of database applications. Object-oriented databases also represent an opportunity for more efficient implementation of the language/database interface, since it is possible for the type system of the language to make guarantees about the safety of programs executing against the database. A type-safe program can freely manipulate permanent data without fear of corrupting the database – the type system guarantees it. Thus, there is no need for an unwieldy interface between program and database for the manipulation of data. So long as mechanisms exist to make database objects directly available to the program in memory, the program can access and modify that data directly, without making calls to the underlying database system. In effect, data are cached by the application program for efficient manipulation. Persistent programming languages [Atkinson et al. 1982; Atkinson, Chisholm, Cockshott, and Marshall 1983; Atkinson, Bailey, Chisholm, Cockshott, and Morrison 1983; Atkinson and Buneman 1987] epitomize this ideal by viewing the database as a stable, persistent, extension of volatile memory, in which data may be dynamically allocated, but which persists from one program invocation to the next. The language allows traversal and modification of the persistent data structures transparently, without explicit calls to read and write the data. Rather, the language implementation and run-time system contrive to make persistent data resident in memory on demand, much as non-resident pages are automatically made resident by a paged virtual memory system. Moreover, a persistent program can modify persistent data and commit the modifications so that their effects are permanently recorded in persistent storage. Atkinson, Bailey, Chisholm, Cockshott, and Morrison [1983] characterize persistence as “an orthogonal property of data, independent of data type and the way in which data is manipulated”. This particular characterization has important ramifications for the design of persistent programming languages, since it encourages the view that a language can be extended to support persistence with minimal disturbance of its existing syntax.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Persistent Languages and Architectures

Persistent programming is concerned with creating and manipulating data in a manner that is independent of its lifetime. The persistence abstraction yields a number of advantages in terms of orthogonal design and programmer productivity. One major advantage is that the abstraction integrates the database view of information with the programming language view. For this reason persistent programm...

متن کامل

An Overview of the CAPITL Software Development Environment

The CAPITL programming environment is comprised of a shared, object-oriented, versioned database, an embedded logic-based data-manipulation language, and a graphical user interface. With each software object the database stores a rich set of attributes that describe its syntax, intended semantics, and relationship to other objects. CAPITL is implemented in POL, a data model and deductive query ...

متن کامل

Toward Painless Polylingual Persistence

Heterogeneity in persistent object systems gives rise to a range of interoperabil-ity problems. For instance, a given object-oriented database (OODB) may contain data objects originally deened, created and persistently stored using the capabilities provided by several distinct programming languages, and an application may need to uniformly process those data objects. We call such a database pol...

متن کامل

Bindings in Persistent Programming Languages

In designing and building persistent object systems we are attempting to regularise the activities on data that are traditional in programming languages, operating systems, database management systems and file systems. We hypothesise that regularity and simplicity may be achieved by regarding the exercise as one of designing a language powerful enough to allow for all our programming needs and ...

متن کامل

Unifying Interaction with Persistent Data and Program

Visual interaction with object-oriented databases, such as that provided by generic object browsing systems, has proved to be a convenient and natural way for database users to address informal queries over the contents of a database. Our particular field of interest is browsing and editing in persistent and database programming languages where procedures are treated as data values, with the co...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995